/**
 * 
 */

/*
*Released on 28th June 2008.
*Any violations can be reported at paritosh@wikiocean.net
*What is treated as violations can be found at www.wikiocean.net/ppl1-voilations*
******************************************************************************
* The contents of this file are subject to POOL Public License 1.0 and later.
* POOL Public License is based on Affero GPL v3 and additional conditions.
* ("License"); You may not use this file except in compliance with the License
* You may obtain a copy of the Affero GPL v3 License at http://www.gnu.org/licenses/agpl.html
* You may obtain a copy of the POOL Public License 1.0 or later at www.wikiocean.net/license/ppl.html
* Software distributed under POOL Public License 1.0 is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
* the specific language governing rights and limitations under the License.
* The Initial Developer of the Original Code is Paritosh Pungaliya (C) 2008. All Rights Reserved.
******************************************************************************
* Objective of the additional terms (license)
* 1) Is to extend the software freedom to freedom to work.
* 2) To ensure that knowledge is free from monopoly of agencies.
* 3) To avoid a situation where big corporate or investor can buy out free software groups and companies and then start milking the communities built around it.
* (this trend can be seen how the freedom is curtailed in companies that get Venture Capital funding.)
******************************************************************************
*/

package  poolint.pulldata;

//import poolint.pulldata.IntegratePool;
import poolint.pull.tablename.IntegratePool;
import utility.CapitalChar;

/**
 * @author Divyesh.
 *
 */
public class Del extends Pulloperation
{
	public Del() 
	{
		request = reflactSchemaProperty;
	}

	/*public boolean performOperation() 
	{
		IntegratePool integratePool;
		try
		{
			Class C = Class.forName("poolint.pull.tablename."+CapitalChar.makeFirstCharCapital(poolTablename));
			integratePool = (poolint.pull.tablename.IntegratePool) C.newInstance();	
			
			integratePool.setColumnName(columnName);
			integratePool.setDatabase(dbsql);
			integratePool.setIntegrationObject(integrationObject);
		//	integratePool.setNewColumnValue(columnValue);
			integratePool.setOldColumnValue(oldcolumnNameValue);
			integratePool.setTableName(tableName);
			integratePool.setProcess(process);		
			
			return integratePool.delete(productTableHash,ModuleHash);	
			
		} catch (Exception e) 
		{
			e.printStackTrace();
		}
		return true;
		
		try
		{
			//tempStr = getMaster(oldcolumnNameValue);
			
			System.out.println(" Integration::Operation::performOperation::Del:: Delete process....");
			Hashtable<Object, Object> tempVec = new Hashtable<Object, Object>();
			tempVec.put("mid", gin.getItem(tempStr));
			tempVec.put("pid", columnName);
			tempVec.put("pv", oldcolumnNameValue);
			Vector<Object> oldVector = new Vector<Object>(); 
			oldVector.add(tempVec);
			
			*//**Setting request parameters like process, user name, password, etc.*//*
			setRequestParameter();
			
			*//** Deleting property from Property_details. *//*
			String master = gin.getItem(tempStr);
			Master_table_Bean mtb = new Master_table_Bean();
			mtb.setDBManager(dbsql);
			mtb.setReqParam(req);
			mtb.setNewMasterObject(master);
						
			*//** It will Delete record from the database.*//*
			System.out.println(" Integration::Operation::performOperation:: Delete Message : " + mtb.delete());
			
			return true;
		}
		catch (Exception e) 
		{
			System.out.println(" Integration::Operation::performOperation:: Del:: Property Not Present in the database...");
			
			Add add = new Add();
			add.performOperation();
		}
		//return false;
	}*/
	
	
	public boolean performOperation() 
	{
		IntegratePool integratePool;
		try
		{
			Class C = Class.forName("poolint.pull.tablename."+CapitalChar.makeFirstCharCapital(poolTablename));
			integratePool = (poolint.pull.tablename.IntegratePool) C.newInstance();	
			
			integratePool.setColumnNameValue( columnNameValue );
			integratePool.setIntegrationObject(integrationObject);
		//	integratePool.setNewColumnValue(columnValue);
			integratePool.setOldColumnNameValue( oldColumnNameValue );
			integratePool.setTableName(tableName);
			integratePool.setProcess(process);		
			
			return integratePool.delete(productTableHash,ModuleHash);	
			
		} catch (Exception e) 
		{
			e.printStackTrace();
		}
		return false;
	}
}
